﻿
using System;
using System.Data.SqlClient;
using V82;
using V82.ДокументыСсылка;
using V82.Документы;//Менеджер;
using V82.ДокументыСсылка;
using V82.Перечисления;//Ссылка;
namespace V82.Документы//Менеджер
{
	///<summary>
	///(Регл)
	///</summary>
	public partial class НачислениеОтпускаРаботникамОрганизаций:ДокументМенеджер
	{
		
		public static ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций НайтиПоСсылке(Guid _Ссылка)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)
					Where _IDRRef=@Ссылка";
					Команда.Parameters.AddWithValue("Ссылка", _Ссылка);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций НайтиПоНомеру(string Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)
					Where _Number = @Номер";
					Команда.Parameters.AddWithValue("Номер", Номер);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций Выбрать()
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)";
					var Выборка = new V82.ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций ВыбратьПоСсылке(int Первые,Guid Мин,Guid Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)
					Where _IDRRef between @Мин and @Макс
					Order by _IDRRef", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций ВыбратьПоНомеру(int Первые,string Мин,string Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)
					Where _Code between @Мин and @Макс
					Order by _Code", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций СтраницаПоСсылке(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)";
					var Выборка = new V82.ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций СтраницаПоНомеру(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld6309 [ПериодРегистрации]
					,_Fld6310RRef [Организация]
					,_Fld6311 [Комментарий]
					,_Fld6312RRef [Ответственный]
					,_Fld21589RRef [Сотрудник]
					,_Fld6313RRef [Физлицо]
					,_Fld26847 [ДатаНачалаСобытия]
					,_Fld6315 [ДатаНачалаОсновногоОтпуска]
					,_Fld6316 [ДатаОкончанияОсновногоОтпуска]
					,_Fld21590 [КоличествоДнейОсновногоОтпуска]
					,_Fld6317RRef [ПорядокРасчетаОсновногоОтпуска]
					,_Fld6318 [ДатаНачалаДополнительногоОтпуска]
					,_Fld6319 [ДатаОкончанияДополнительногоОтпуска]
					,_Fld21591 [КоличествоДнейДополнительногоОтпуска]
					,_Fld6320RRef [ВидРасчетаДополнительногоОтпуска]
					,_Fld6324 [УдалитьРезультатКомпенсацииОтпуска]
					,_Fld6321 [ПроцентОплатыДополнительногоОтпуска]
					,_Fld6326 [УдалитьСторноРезультатКомпенсацииОтпуска]
					,_Fld6322RRef [ПорядокРасчетаКомпенсацииОтпуска]
					,_Fld6323 [ДнейЧасовКомпенсацииОтпуска]
					,_Fld18526 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld6314RRef [УдалитьПриказ]
					,_Fld6325RRef [ПерерассчитываемыйДокумент]
					,_Fld6327 [РабочийГодС]
					,_Fld6328 [РабочийГодПо]
					,_Fld26848 [ОсновнойОтпуск]
					,_Fld26849 [ДополнительныйОтпуск]
					,_Fld26850 [КомпенсацияОтпуска]
					,_Fld26851 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld26852 [ПериодРасчетаСреднегоЗаработкаОкончание]
					,_Fld26853 [Фамилия]
					,_Fld26854 [Имя]
					,_Fld26855 [Отчество]
					,_Fld26856RRef [ВидДокумента]
					,_Fld26857 [СерияДокумента]
					,_Fld26858 [НомерДокумента]
					,_Fld26859 [ДатаВыдачиДокумента]
					,_Fld26860 [ДатаДействияДокумента]
					,_Fld26861 [ПеречислятьПособиеПочтовымПереводом]
					,_Fld26862RRef [Банк]
					,_Fld26863 [НомерЛицевогоСчета]
					,_Fld26864 [АдресПочтовый]
					,_Fld26865 [НаименованиеБанка]
					,_Fld26866 [БИКБанка]
					,_Fld26867RRef [ДолжностьУполномоченного]
					,_Fld26868RRef [Уполномоченный]
					,_Fld26869 [КоррСчетБанка]
					,_Fld26870 [КемВыданДокумент]
					,_Fld26871 [АдресРегистрации]
					,_Fld26872 [Телефон]
					,_Fld26873 [ТелефонСоставителя]
					From _Document322(NOLOCK)";
					var Выборка = new V82.ДокументыВыборка.НачислениеОтпускаРаботникамОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаНачалаСобытия = Читалка.GetDateTime(9);
							Ссылка.ДатаНачалаОсновногоОтпуска = Читалка.GetDateTime(10);
							Ссылка.ДатаОкончанияОсновногоОтпуска = Читалка.GetDateTime(11);
							Ссылка.КоличествоДнейОсновногоОтпуска = Читалка.GetDecimal(12);
							Ссылка.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(13));
							Ссылка.ДатаНачалаДополнительногоОтпуска = Читалка.GetDateTime(14);
							Ссылка.ДатаОкончанияДополнительногоОтпуска = Читалка.GetDateTime(15);
							Ссылка.КоличествоДнейДополнительногоОтпуска = Читалка.GetDecimal(16);
							Ссылка.УдалитьРезультатКомпенсацииОтпуска = Читалка.GetDecimal(18);
							Ссылка.ПроцентОплатыДополнительногоОтпуска = Читалка.GetDecimal(19);
							Ссылка.УдалитьСторноРезультатКомпенсацииОтпуска = Читалка.GetDecimal(20);
							Ссылка.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(21));
							Ссылка.ДнейЧасовКомпенсацииОтпуска = Читалка.GetDecimal(22);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(23))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(24));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(25));
							Ссылка.РабочийГодС = Читалка.GetDateTime(26);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(27);
							Ссылка.ОсновнойОтпуск = ((byte[])Читалка.GetValue(28))[0]==1;
							Ссылка.ДополнительныйОтпуск = ((byte[])Читалка.GetValue(29))[0]==1;
							Ссылка.КомпенсацияОтпуска = ((byte[])Читалка.GetValue(30))[0]==1;
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(31);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(32);
							Ссылка.Фамилия = Читалка.GetString(33);
							Ссылка.Имя = Читалка.GetString(34);
							Ссылка.Отчество = Читалка.GetString(35);
							Ссылка.СерияДокумента = Читалка.GetString(37);
							Ссылка.НомерДокумента = Читалка.GetString(38);
							Ссылка.ДатаВыдачиДокумента = Читалка.GetDateTime(39);
							Ссылка.ДатаДействияДокумента = Читалка.GetDateTime(40);
							Ссылка.ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(41))[0]==1;
							Ссылка.НомерЛицевогоСчета = Читалка.GetString(43);
							Ссылка.АдресПочтовый = Читалка.GetString(44);
							Ссылка.НаименованиеБанка = Читалка.GetString(45);
							Ссылка.БИКБанка = Читалка.GetString(46);
							Ссылка.КоррСчетБанка = Читалка.GetString(49);
							Ссылка.КемВыданДокумент = Читалка.GetString(50);
							Ссылка.АдресРегистрации = Читалка.GetString(51);
							Ссылка.Телефон = Читалка.GetString(52);
							Ссылка.ТелефонСоставителя = Читалка.GetString(53);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static V82.ДокументыОбъект.НачислениеОтпускаРаботникамОрганизаций СоздатьЭлемент()
		{
			var Объект = new V82.ДокументыОбъект.НачислениеОтпускаРаботникамОрганизаций();
			Объект._ЭтоНовый = true;
			Объект.Ссылка = Guid.NewGuid();/*http://msdn.microsoft.com/ru-ru/library/aa379322(VS.85).aspx*/
			Объект.Комментарий = "";
			Объект.Фамилия = "";
			Объект.Имя = "";
			Объект.Отчество = "";
			Объект.СерияДокумента = "";
			Объект.НомерДокумента = "";
			Объект.НомерЛицевогоСчета = "";
			Объект.АдресПочтовый = "";
			Объект.НаименованиеБанка = "";
			Объект.БИКБанка = "";
			Объект.КоррСчетБанка = "";
			Объект.КемВыданДокумент = "";
			Объект.АдресРегистрации = "";
			Объект.Телефон = "";
			Объект.ТелефонСоставителя = "";
			Объект.ПорядокРасчетаОсновногоОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка;
			Объект.ПорядокРасчетаКомпенсацииОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка;
			Объект.УдалитьПриказ = new V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию();
			Объект.ПерерассчитываемыйДокумент = new V82.ДокументыСсылка.НачислениеОтпускаРаботникамОрганизаций();
			return Объект;
		}
	}
}